package com.sansan.qiangji.service.inter.base;

import com.sansan.qiangji.VO.base.stock.StockVO;
import com.sansan.qiangji.entity.base.Stock;
import com.sansan.qiangji.entity.base.example.StockExample;
import com.sansan.qiangji.form.base.StockListForm;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface StockService {
    List<Stock> findByBoxCode(String boxCode);

    List<Stock> findByShelveNameAndWidthAndHeight(String shelveName, Integer stockWidth, Integer stockHeight);

    long countByExample(StockExample example);

    int deleteByExample(StockExample example);

    int deleteByPrimaryKey(Integer stockId);

    int insert(Stock record);

    int insertSelective(Stock record);

    List<Stock> selectByExample(StockExample example);

    Stock selectByPrimaryKey(Integer stockId);

    int updateByExampleSelective(@Param("record") Stock record, @Param("example") StockExample example);

    int updateByExample(@Param("record") Stock record, @Param("example") StockExample example);

    int updateByPrimaryKeySelective(Stock record);

    int updateByPrimaryKey(Stock record);

    List<StockVO> groupCountByExample(StockExample example);

    List<StockVO> groupCountByCondition(StockListForm form);

}
